/**   
 * Copyright © 2021 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：
 * @Package: com.yl.staff.dao 
 * @author: Bai   
 * @date: 2021年1月25日 上午10:08:41 
 */
package com.yl.staff.dao;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.yl.staff.model.BeanSalarHistory;

/**   
* Copyright: Copyright (c) 2021 云邻信息科技
* 
* @ClassName: MaoSalaryHistory.java
* @Description: 工资历史信息记录表 数据接口
*
* @version: v1.0.0
* @author: Bai
* @date: 2021年1月25日 上午10:08:41 
*
* Modification History:<br>
* Date         Author          Version            Description
*---------------------------------------------------------*<br>
* 2021年1月25日     Bai             v1.0.0             新建<br>
*/
/*
 * 功能列表：
* 	Date         Author          Method            				 Description
*	---------------------------------------------------------------------*<br>
*	2021年1月25日     Bai            selectAll()        				                                	  查找所有基本工资信息
*	2021年1月25日     Bai            selectByid(int id)        				           					  根据数据编号查看基本工资历史信息
*	2021年1月25日     Bai            selectByStaffCode(String staffCode)         							  根据员工编号 查找基本工资历史信息
*	2021年1月25日     Bai            addSalarHistory(BeanSalarHistory bsh)	           					  添加员工基本工资工资历史信息
*	2021年1月26日     Bai            upSalarHistory(BeanSalarHistory bsh)	                      			  更新员工基本工资工资历史信息 
*	2021年1月26日     Bai            selectByMessage(String message)             							  根据信息记录查找基本工资信息记录实体集合
*	2021年1月26日     Bai            selectByChangeDate(String ChangeDate)       							  根据更改时间查找基本工资历史记录
*	2021年1月26日     Bai            selectByChangeDateBetweenOn(String earlyDate,String lateData)        根据更改时间区间查找基本工资历史记录
*	2021年1月26日     Bai            selectByEffectiveDate(String effectiveDate)      					  根据更改时间区间查找基本工资历史记录
*
 * */
@Mapper
public interface MapSalaryHistory {
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 工资历史信息记录表 数据接口
	*
	* @param:无
	* @return：List<BeanSalarHistory> 工资历史信息实体
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月25日 上午11:30:03 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月25日     Bai             v1.0.0                                         新建<br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` ORDER BY id DESC;")
	public List<BeanSalarHistory> selectAll();
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 根据数据编号查看基本工资信息
	*
	* @param: int 数据编号
	* @return：List<BeanSalarHistory> 基本工资集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月25日 下午4:43:12 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月25日     Bai             v1.0.0                                    新建 <br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` WHERE id=#{id} ORDER BY id DESC;")
	public List<BeanSalarHistory> selectByid(int id);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 根据员工编号查看基本工资信息
	*
	* @param:描述1描述
	* @return：返回结果描述
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月25日 下午4:48:00 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月25日     Bai             v1.0.0                                   新建<br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` WHERE staff_code=#{staffCode} ORDER BY id DESC;")
	public List<BeanSalarHistory> selectByStaffCode(String staffCode);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 添加基本工资历史信息
	*
	* @param: BeanSalarHistory 基本工资历史信息实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月26日 上午11:17:33 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月26日     Bai             v1.0.0                                    新建 <br>
	 */
	@Insert("INSERT INTO `salar-history`(`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category`) VALUES (#{staffCode},#{message},#{changeDate},#{effectiveDate},#{oldQuota},#{newQuota},#{operationCategory});")
	public boolean insertSalarHistory(BeanSalarHistory bsh);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 跟新员工基本工资历史信息
	*
	* @param: BeanSalarHistory 员工基本工资历史实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月26日 上午11:43:10 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月26日     Bai             v1.0.0                                    新建 <br>
	 */
	@Update("UPDATE `salar-history` SET `message`=#{message},`change_date`=#{changeDate},`effective_date`=#{effectiveDate},`old_quota`=#{oldQuota},`new_quota`=#{newQuota},`operation_category`=#{operationCategory} WHERE id=#{id}")
	public boolean updateSalarHistory(BeanSalarHistory bsh);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 根据记录信息查找基本工资信息记录实体集合
	*
	* @param:String 历史记录信息
	* @return： List<BeanSalarHistory> 基本工资信息记录实体集合  OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月26日 下午3:22:31 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月26日     Bai             v1.0.0                                   新建 <br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` WHERE message=#{message} ORDER BY id DESC;")
	public List<BeanSalarHistory> selectByMessage(String message);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 根据更改时间查找基本工资历史记录
	*
	* @param:String 更改日期
	* @return：List<BeanSalarHistory> 基本工资历史记录集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月26日 下午3:40:19 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月26日     Bai             v1.0.0                                   新建<br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` WHERE `change_date`=#{ChangeDate} ORDER BY id DESC;")
	public List<BeanSalarHistory> selectByChangeDate(String ChangeDate);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 根据更改时间段查找基本工资历史记录集合
	*
	* @param:String 较早时间, String 较晚时间
	* @return：List<BeanSalarHistory> 基本工资历史记录集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月26日 下午3:49:25 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月26日     Bai           	v1.0.0                                 新建 <br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` WHERE `change_date`  between #{earlyDate} and #{lateData} ORDER BY id DESC;")
	public List<BeanSalarHistory> selectByChangeDateBetweenOn(String earlyDate,String lateData);
	/**
	 * 
	* @Function: MapSalaryHistory.java
	* @Description: 该函数的功能描述
	*
	* @param:描述1描述
	* @return：List<BeanSalarHistory> 
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月26日 下午4:01:26 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月26日     Bai              v1.0.0                                 新建 <br>
	 */
	@Select("SELECT `id`,`staff_code`,`message`,`change_date`,`effective_date`,`old_quota`,`new_quota`,`operation_category` FROM `salar-history` WHERE `effective_date`=#{effectiveDate} ORDER BY id DESC;")
	public List<BeanSalarHistory> selectByEffectiveDate(String effectiveDate);

}
